অ্যাপাচি অ্যান্ট (Apache Ant) একটি ওপেন সোর্স বিল্ড টুল যা সফটওয়্যার ডেভেলপমেন্ট এবং বিল্ড প্রক্রিয়া অটোমেট করার জন্য ব্যবহৃত হয়। SSH Task অ্যাপাচি অ্যান্টে একটি বিশেষ টাস্ক যা SSH (Secure Shell) প্রোটোকল ব্যবহার করে রিমোট সার্ভারে কমান্ড চালাতে সক্ষম। এই টাস্কটি রিমোট সার্ভারের সাথে নিরাপদ সংযোগ স্থাপন করে এবং সেখানে কমান্ড এক্সিকিউট করার জন্য ব্যবহৃত হয়।
SSH Task টাস্কটি ব্যবহারকারীদের রিমোট সার্ভারে কমান্ড এক্সিকিউট করতে সহায়তা করে। এটি সাধারণত তখন ব্যবহৃত হয় যখন আপনি একাধিক সার্ভারে বিল্ড বা ডিপ্লয়মেন্ট টাস্ক পরিচালনা করতে চান, বিশেষ করে যখন ওই সার্ভারগুলোতে সরাসরি প্রবেশ করা সম্ভব না হয় (যেমন সার্ভার রিমোট অবস্থানে থাকে)। এই টাস্কটি SSH প্রোটোকল ব্যবহার করে নিরাপদ সংযোগ স্থাপন করে এবং রিমোট সার্ভারে নির্দিষ্ট কমান্ড রান করে।
টাস্কটি অ্যাপাচি অ্যান্টের একটি শক্তিশালী টাস্ক, যা রিমোট সার্ভারে SSH এর মাধ্যমে কমান্ড চালাতে ব্যবহৃত হয়। এটি host
, username
, password
বা privatekey
এর মাধ্যমে রিমোট সার্ভারে লগইন করতে পারে এবং সেখানে কোনো নির্দিষ্ট কমান্ড এক্সিকিউট করতে পারে।
<ssh host="remote.server.com" username="user" password="password">
<exec command="ls -l /home/user"/>
</ssh>
এটি remote.server.com
এ SSH ব্যবহার করে লগইন করবে এবং সেখানে ls -l /home/user
কমান্ড চালাবে।
host অ্যাট্রিবিউটটি রিমোট সার্ভারের হোস্টনেম বা আইপি অ্যাড্রেস নির্ধারণ করে যেখানে কমান্ড এক্সিকিউট করা হবে।
উদাহরণ:
<ssh host="remote.server.com" username="user" password="password">
<exec command="uptime"/>
</ssh>
এটি remote.server.com
সার্ভারে uptime
কমান্ড চালাবে।
username অ্যাট্রিবিউটটি রিমোট সার্ভারে লগইন করার জন্য ব্যবহারকারীর নাম নির্ধারণ করে।
উদাহরণ:
<ssh host="remote.server.com" username="admin" password="password">
<exec command="df -h"/>
</ssh>
এটি remote.server.com
সার্ভারে admin
ব্যবহারকারীর মাধ্যমে লগইন করে df -h
কমান্ড চালাবে।
password অ্যাট্রিবিউটটি ব্যবহারকারীর পাসওয়ার্ড নির্ধারণ করে, এবং privatekey অ্যাট্রিবিউটটি SSH প্রাইভেট কী ব্যবহার করে নিরাপদ লগইন করতে সহায়তা করে। আপনি পাসওয়ার্ড অথবা প্রাইভেট কী যে কোনো একটি ব্যবহার করতে পারেন।
উদাহরণ (Password):
<ssh host="remote.server.com" username="user" password="password">
<exec command="uptime"/>
</ssh>
উদাহরণ (Private Key):
<ssh host="remote.server.com" username="user" privatekey="/path/to/private.key">
<exec command="uptime"/>
</ssh>
exec টাস্কটি SSH এর মাধ্যমে নির্দিষ্ট কমান্ড এক্সিকিউট করার জন্য ব্যবহৃত হয়। এটি নির্দিষ্ট কমান্ড রিমোট সার্ভারে রান করবে।
উদাহরণ:
<ssh host="remote.server.com" username="user" password="password">
<exec command="ls -l /home/user"/>
</ssh>
এটি রিমোট সার্ভারে /home/user
ডিরেক্টরির কন্টেন্ট তালিকা দেখাবে।
output অ্যাট্রিবিউটটি কমান্ডের আউটপুট রিট্রিভ করে এবং সেটা কনসোলে বা একটি ফাইলে প্রিন্ট করতে ব্যবহৃত হয়।
উদাহরণ:
<ssh host="remote.server.com" username="user" password="password">
<exec command="uptime" output="uptime.txt"/>
</ssh>
এটি uptime
কমান্ডের আউটপুট uptime.txt
ফাইলে সংরক্ষণ করবে।
<project name="RemoteCommandExample" default="runCommand">
<target name="runCommand">
<ssh host="remote.server.com" username="user" password="password">
<exec command="uptime"/>
</ssh>
</target>
</project>
এটি remote.server.com
সার্ভারে লগইন করবে এবং uptime
কমান্ড চালাবে।
<project name="RemoteCommandWithPrivateKey" default="runCommand">
<target name="runCommand">
<ssh host="remote.server.com" username="user" privatekey="/path/to/private.key">
<exec command="df -h"/>
</ssh>
</target>
</project>
এটি প্রাইভেট কী দিয়ে লগইন করে df -h
কমান্ড রিমোট সার্ভারে এক্সিকিউট করবে।
<project name="RemoteCommandWithOutput" default="runCommand">
<target name="runCommand">
<ssh host="remote.server.com" username="user" password="password">
<exec command="uptime" output="uptime.txt"/>
</ssh>
</target>
</project>
এটি uptime
কমান্ডের আউটপুট uptime.txt
ফাইলে সংরক্ষণ করবে।
<project name="VerboseSSHExample" default="runCommand">
<target name="runCommand">
<ssh host="remote.server.com" username="user" password="password">
<exec command="ls -l /home/user" verbose="true"/>
</ssh>
</target>
</project>
এটি ls -l /home/user
কমান্ড চালাবে এবং কমান্ডের বিস্তারিত আউটপুট কনসোলে প্রদর্শন করবে।
SSH Task অ্যাপাচি অ্যান্টের একটি শক্তিশালী টাস্ক যা SSH প্রোটোকল ব্যবহার করে রিমোট সার্ভারে কমান্ড এক্সিকিউট করার জন্য ব্যবহৃত হয়। এটি নিরাপদভাবে রিমোট সার্ভারে সংযোগ স্থাপন করে এবং সেখানে নির্দিষ্ট কাজ চালায়। আপনি host
, username
, password
বা privatekey
, exec
, এবং output
অ্যাট্রিবিউট ব্যবহার করে রিমোট সার্ভারে কাজ করতে পারেন। এটি সাধারণত ডিপ্লয়মেন্ট, টেস্টিং, সিস্টেম ম্যানেজমেন্ট এবং ডিবাগিং এর জন্য ব্যবহৃত হয়।
common.read_more